// 入口函数
$(function () {
    // 需求1：点击a链接，显示隐藏
    $("#loginBox a").on('click', function () {
        // 点击的登录框内部的a链接
        // 显示注册区域，隐藏登录区域
        $("#regBox").show();
        $("#loginBox").hide();
    });
    $("#regBox a").on('click', function () {
        // 点击的登录框内部的a链接
        // 显示登录区域，隐藏注册区域
        $("#regBox").hide();
        $("#loginBox").show();
    });
});

// 需求2：定义校验规则
// 导入 layui.all.js 就会多出一个对象 layui
let form = layui.form;  //把layui里面的form属性,导出直接用变量接收;
// 定义校验规则，使用的是form.verify()方法，他的参数是对象
// 参数是对象，属性是校验名称，值是校验规则，值有两种类型：函数和数组
form.verify({
    // 值有两种类型，函数和数组
    username: [
        /^[a-zA-Z0-9\u4e00-\u9fa5]{1,10}$/,
        '用户名必须1到10为数字和字母'
    ],
    pwd: [/^[a-zA-Z0-9]{6,12}$/,
        '密码必须是6到12位数字和字母'
    ],
    // 确认密码规则
    rePwd: function (value) {
        // value就是你给哪个标签添加这个校验规则，
        // 这个标签的值就是赋值给value
        // 确认密码获取密码注册密码里的值
        let pwd = $('#regBox input[name = password]').val()
        // 如果原来密码的值和确认密码的值不相等，就提示输入错误
        if (pwd !== value) {
            return "两次密码输入不一致"
        }
    }
});

// 需求3：注册提交功能
let layer = layui.layer
$('#formReg').on('submit', function (e) {
    // 阻止表单默认提交
    e.preventDefault();
    // 发送axios
    axios({
        method: 'POST',
        url: "/api/reguser",
        // 不要传递对象类型，因为对象类型，头信息设置的是application/json
        data: $(this).serialize(),
    }).then(function (res) {
        // res中有六个属性，我们打印data属性
        // console.log(res.data);
        // 判断返回的数据是否正确
        if (res.data.status !== 0) {
            return layer.msg(res.data.message);
        }
        // 成功后，提示;
        layer.msg('注册成功');
        // 切换到登录模块
        $('#regBox a').click()
        // 清空表单 - DOM元素中，有一个 reset() 可以重置表单
        $('#formReg')[0].reset();
    });
});

// 需求4：登录功能
$('#formLogin').on('submit', function (e) {
    // 阻止表单默认提交
    e.preventDefault();
    // 发送axios
    axios({
        method: 'POST',
        url: "/api/login",
        // 不要传递对象类型，因为对象类型，头信息设置的是application/json
        data: $(this).serialize(),
    }).then(function (res) {
        // 判断返回的数据是否正确
        if (res.data.status !== 0) {
            return layer.msg(res.data.message);
        }
        // 成功后，提示
        layer.msg('登录成功，正在跳转.....');
        // 储存token
        localStorage.setItem('token', res.data.token);
        //    页面延迟跳转到 index.html
        function a() {
            location.href = '/index.html'
        } setTimeout(a, 2000)
    });
});